builderscon tokyo 2017
https://builderscon.io/tokyo/2017 https://gyazo.com/8f67b13934b470ad4c6e8da5880eae50
日時
場所
メモ
OSS活動
virtual dom
hyperapp/picodomの場合
code:js
h("h1", {class: "foo"}, msg)
code:html
<h1 class="foo">msg</h1>
h(tag, attributes, children)でVDOM nodeを作る
patch関数でReal DOMをアップデートする
https://gyazo.com/101878cfee10fb368a1720be23f35165
Javaの時代
3号でRubyが掲載されるが、Railsまで一切出てこなくなる
Ajax
Flashの人の知見が役に立った
新人時代に押さえておくべき50の知識
多い
GitHub
記事のやりとりも昔はメールだった
GitHubだと編集・修正しやすい
進捗も見える
編集長がLinux使い始めたりMac使い始めたりすると、Mac開発環境という特集が組まれる
勉強のため
編集部はどうやって技術にキャッチアップしている?
イベントやSNS
著者に教えてもらう
詳しく知りたかったら特集を書いてもらう
寿司屋を家に呼ぶみたいな感じ
ライターの探し方
これまで900人ぐらいが書いた
著者からの紹介
面識のない人にメール送る事もある
懇親会やイベントで会話して特集を考えたりする
昨日も懇親会で3つぐらい思いついたらしい
WEB+DBとは?
どこまでがこの雑誌の範囲とか考えない
あらかじめ範囲を決めてしまうと、新しい物が出てきた時に掲載できない
swiftはOSS化されて、Linuxで動くようになった
Ubuntu用のバイナリ等がDLできる
swift package manager
パッケージマネージャ兼ビルドシステム
npmみたいなもの
xcodeの設定とかも吐き出せる
$ swift build -h
swiftのWAF
フルスタックMVC
IBMが作っている
Sinatraみたいに小さなフレームワーク
良さそうshokai.icon
HerokuとかでもSwiftはデプロイできる
Serverless Swiftでスモールスタート
AWSでやる
そもそもLambdaでSwift動かない?
linux用にswiftビルドしてバイナリアップロードすれば動くよ
MacでLinux向けにビルドして、zipにかためてs3に上げてlambdaに登録してAPI Gateway通す
めんどくさい
ビルドしてzipに固めて〜API Gateway通すまで全部やってくれる
コマンドラインツールとフレームワークで構成されている
$ hexaville generate
テンプレが作成される
そのままAWSにデプロイできる
index.js
node.jsからswiftを起動し、標準出力をpipeする
Lambdaで動かすswiftをローカルでも動かしてデバッグできる
XCodeでも
素のnodeと、node+swiftだとやっぱりnodeだけの方がreq/secは出る
でもCPU重い処理だと差が縮まる
nodeかまさないでも良くなったらswiftアリだなshokai.icon
今日話すサーバーレスの定義
Function-as-a-Service
リクエストが来てからリソースを確保して、レスポンスを返したらすぐ死ぬ
コンパイルが必要なライブラリをLambdaに置く
動かない
ビルド環境が違うから
Dockerで作ってデプロイするといい
ローカルでAWSの部品の互換品を使うと開発に便利
dynamodb-localやfake-s3など
docker imageで提供されている
デバッグしやすい
PythonのFlaskやDjangoで書いた既存アプリをLambdaで動かす
WSGIをLambdaにつなぐライブラリがある
lambdaでもローカルでも動くようにアプリを作れる
AWS Lambdaが無くなっても、他に移住できる
ロックインされないの重要だshokai.icon
AWS等のマネージドも一部のサービスが死ぬ事はわりとよくある
サーバーレス環境を作る
コンテナを複数起動できるプールを用意しておく
HTTPリクエストが来たらdocker runしてレスポンスしたら終了
ECSの上に作るとよい
JX通信社ではAWS LambdaとECSを使い分けている